package com.sse.lb.core;

import java.net.Socket;


/**
 * Interfaz que define el comportamiento del registro de sistemas centrales.
 * @author Paul
 *
 */
public interface IRegistroSistemaCentral {
	
	
	/**
	 * Permite registrar un nuevo sistema central.
	 * @param socket Socket abierto para la comunicacion con el sistema central.
	 * @return Identificador asignado al sistema central.
	 */
	public Long registrarSistemaCentral(Socket socket);
	
	
	/**
	 * Permite eliminar un sistema central del registro.
	 * Verifica si el socket esta abierto, si es necesario lo cierra 
	 * y libera los recursos asociados.
	 * @param idSistema Identificador unico del sistema Central.
	 */
	public void eliminarSistemaCentral(Long idSistema);
	
	
	/**
	 * Obtiene el socket abierto para la comunicacion con el sistema
	 * centrarl. 
	 * @param idSistemaCentral Identificador unico del sistema central. 
	 * @return Socket para comunicacion.
	 */
	public Socket obtenerSocket(Long idSistemaCentral);
	

}
